package 数组;

public class merge {
    public static void merge(int[] nums1, int m, int[] nums2, int n) {
        int[] arr = new int[m + n];
        int i=0,j=0,cur=0;
        while (i<m || j<n){
            while (i>=m && j<n){
                arr[cur++]=nums2[j++];
                if(j==n) break;
            }
            while (j>=n && i<m){
                arr[cur++]=nums1[i++];
                if(i==m) break;
            }
            if(nums1[i]<=nums2[j]){
                arr[cur++]=nums1[i++];
            } else {
                arr[cur++]=nums2[j++];
            }
        }
        for(int k=0;k<m+n;++k){
            nums1[k]=arr[k];
        }
    }

    public static void main(String[] args) {
        merge(new int[]{1,2,3},3,new int[]{2,5,6},3);
    }
}
